package com.jt.controller;

import com.jt.pojo.Item;
import com.jt.seivice.ItemService;
import com.jt.vo.ItemVO;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin
@RequestMapping("/item")
public class ItemController {

    @Autowired
    private ItemService itemService;


    /**
     *  商品列表分页展现
     *  请求类型:get
     *  URL: /item/getItemList?query=&pageNum=1&pageSize=10
     *  返回值结果:SysResult(pageResult)
     */
    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){
        pageResult = itemService.getItemList(pageResult);
        return SysResult.success(pageResult);
    }

    /**
     *  需求: 实现商品的新增
     *  请求类型:post
     *  URL:    http://localhost:8091/item/saveItem
     *  参数:     {item : this.addItemForm,itemDesc: this.itemDesc}
     *  接受数据:       ItemVO
     *  返回值:SysResult
     */
    @PostMapping("/saveItem")
    public SysResult saveItem(@RequestBody ItemVO itemVO){
        itemService.saveItem(itemVO);
        return SysResult.success();
    }
    /**
     * 需求:  商品状态修改
     * 类型:put
     *  URL:/item/updateItemStatus
     *  返回值:SysResult
     */
    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(@RequestBody Item item){
        itemService.updateItemStatus(item);
        return SysResult.success();
    }

    /**
     * 需求:删除商品信息  同时删除itemDesc信息
     * 类型:delete
     *  URL:/item/deleteItemById
     *  返回值:SysResult
     */
    @DeleteMapping("/deleteItemById")
    public SysResult deleteItemById(Item item){
        itemService.deleteItemById(item);
        return SysResult.success();
    }
    /**
     * 需求:修改商品信息
     * 类型:put
     * URL:/item/updateItem
     * 返回值:SysResult
     */
    @PutMapping("/updateItem")
    public SysResult updateItem(@RequestBody Item item){
        itemService.updateItem(item);
        return SysResult.success();
    }
}
